package com.example.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.pojo.dto.BorrowDTO;
import com.example.pojo.dto.BorrowPageDTO;
import com.example.pojo.entity.Borrow;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

@Mapper
public interface BorrowMapper extends BaseMapper<Borrow> {
    /**
     * 插入借阅记录
     *
     * @param borrowDTO
     */
    void addBorrow(BorrowDTO borrowDTO);

    /**
     * 根据借阅记录ID查询借阅记录
     *
     * @param id
     * @return
     */
    @Select("select * from tb_borrow where id = #{id};")
    Borrow getById(Long id);

    /**
     * 更新借阅记录
     *
     * @param borrow
     */
    @Update("update tb_borrow set status = #{status}, return_time = #{returnTime} where id = #{id};")
    void updateStatusAndReturnTime(Borrow borrow);

    /**
     * 根据查询条件查询借阅记录列表
     *
     * @param borrowPageDTO
     * @return
     */
    List<Borrow> listByQuery(BorrowPageDTO borrowPageDTO);

}
